package viewbuilder.java;

import java.util.List;

/**
 *
 */
public interface HtmlBuilder {

    HtmlNode table( List<HtmlAttribute> attributes, HtmlNode... children);
    HtmlNode thead(List<HtmlAttribute> attributes, HtmlNode... children);
    HtmlNode tbody(List<HtmlAttribute> attributes, HtmlNode... children);
    HtmlNode tfoot(List<HtmlAttribute> attributes, HtmlNode... children);
    HtmlNode th(List<HtmlAttribute> attributes, HtmlNode... children);
    HtmlNode td(List<HtmlAttribute> attributes, HtmlNode... children);
    HtmlNode tr(List<HtmlAttribute> attributes, HtmlNode... children);

    HtmlNode img(List<HtmlAttribute> attributes, HtmlNode... children);

    HtmlNode div(List<HtmlAttribute> attributes, HtmlNode... children);
    HtmlNode span(List<HtmlAttribute> attributes, HtmlNode... children);

    HtmlNode ul(List<HtmlAttribute> attributes, HtmlNode... children);
    HtmlNode li(List<HtmlAttribute> attributes, HtmlNode... children);
    
    HtmlNode a(List<HtmlAttribute> attributes, HtmlNode... children);


    HtmlNode table(HtmlNode... children);
    HtmlNode thead(HtmlNode... children);
    HtmlNode tbody(HtmlNode... children);
    HtmlNode tfoot(HtmlNode... children);
    HtmlNode th(HtmlNode... children);
    HtmlNode td(HtmlNode... children);
    HtmlNode tr(HtmlNode... children);

    HtmlNode img(HtmlNode... children);

    HtmlNode div(HtmlNode... children);
    HtmlNode span(HtmlNode... children);

    HtmlNode ul(HtmlNode... children);
    HtmlNode li(HtmlNode... children);

    HtmlNode a(HtmlNode... children);

    HtmlNode text( String text );
}
